package test;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import dao.UsuarioDAO;
import service.*;
import junit.framework.TestCase;
import model.Usuario;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

/**
 *
 * @author Fátima Pestana
 */
public class testUsuarioService extends TestCase {

    private ClassPathXmlApplicationContext ctx;
    private UsuarioService serv;
    private Usuario usuario;
    private Usuario usuario1;
    private UsuarioDAO usuarioDAO;
    private static final Log log = LogFactory.getLog(testUsuarioService.class);

    public testUsuarioService(String testName) {
        super(testName);
    }

    @Override
    protected void setUp() throws Exception {

    BeanFactory beanfactory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml" ));
    usuarioDAO = (UsuarioDAO) beanfactory.getBean("usuarioDAO");
    usuarioDAO = (UsuarioDAO) beanfactory.getBean("usuarioDAO");
     serv = (UsuarioService) beanfactory.getBean("usuarioService");
     usuario = new Usuario();
    }

    @Override
    protected void tearDown() throws Exception {
        usuario = null;
        usuario1 = null;
        serv = null;
        usuarioDAO= null;
    }

    public void testSaveUsuarioService() {

        usuario = new Usuario();
        usuario.setIdUsuario(Long.parseLong("14"));
        usuario.setNombre("Marisol");
        usuario.setApellido("Pestana");
        usuario.setSexo("FEMENINO");
        usuario.setTelefono(Long.parseLong("4123830051"));
        usuario.setCorreo("mariaoliviadea@gmail.com");
        usuario.setUsername("mariaolivia");
        usuario.setClave("clave");


        serv.saveUsuario(usuario);

        assertTrue(usuario != null);
        usuario1 = serv.getUsuario(Long.parseLong("14"));
        log.debug("Recuperado usuario" + usuario);
        assertTrue(usuario1 != null);
        log.debug("Comparamos : " + usuario1 + " con : " + usuario);
        assertTrue(usuario.getIdUsuario() == usuario1.getIdUsuario());
        
        
        
    }
    public void testConsultarUsuarioService() throws Exception {


        usuario = serv.getUsuario(Long.parseLong("12"));
        log.debug("Consultando usuario" + usuario);
        assertTrue(usuario != null);
        log.debug("Comparamos el ID del : " + usuario + " con 12");
        assertTrue(usuario.getIdUsuario() == Long.parseLong("12"));

    }
}
